/*
*  Copyright 2019-2020 Zheng Jie
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/
package com.fzhucc.modules.sciRegister.domain;

import com.fzhucc.base.BaseEntity;
import lombok.Data;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModelProperty;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.persistence.*;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.sql.Timestamp;

/**
* @website https://eladmin.vip
* @description /
* @author yyg
* @date 2024-04-26
**/
@Entity
@Data
@Table(name="tb_sci_register_info")
public class SciRegisterInfo extends BaseEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "`id`")
    @ApiModelProperty(value = "id")
    private Integer id;

    @Column(name = "`name`",nullable = false)
    @NotBlank
    @ApiModelProperty(value = "名称")
    private String name;

    @Column(name = "`unit`")
    @ApiModelProperty(value = "建设单位")
    private String unit;

    @Column(name = "`establish`")
    @ApiModelProperty(value = "成立时间")
    private String establish;

    @Column(name = "`contacts`")
    @ApiModelProperty(value = "联系人")
    private String contacts;

    @Column(name = "`phone`")
    @ApiModelProperty(value = "联系电话")
    private String phone;

    @Column(name = "`org_area`",nullable = false)
    @NotBlank
    @ApiModelProperty(value = "地区组织机构区分  字典 zqx_org_area")
    private String orgArea;

    @Column(name = "`pic`")
    @ApiModelProperty(value = "封面")
    private String pic;

    @Column(name = "`is_delete`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "是否删除 默认否")
    private Integer isDelete;

    @Column(name = "`audit_status`",nullable = false)
    @NotBlank
    @ApiModelProperty(value = "区审核状态 默认未审核  zqx_audit_status")
    private String auditStatus;

    @Column(name = "`is_show`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "是否小程序展示")
    private Integer isShow;

    @Column(name = "`sort`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "排序")
    private Integer sort;

    @Column(name = "`user_id`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "填报用户")
    private Long userId;

    @Column(name = "`is_edit`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "是否允许编辑默认否")
    private Integer isEdit;

    @Column(name = "`hot`",nullable = false)
    @NotNull
    @ApiModelProperty(value = "热度")
    private Integer hot;

    @Column(name = "`jg`")
    @ApiModelProperty(value = "批复机构和文件")
    private String jg;

    @Column(name = "`curator`")
    @ApiModelProperty(value = "工匠学院负责人")
    private String curator;

    @Column(name = "`curator_phone`")
    @ApiModelProperty(value = "工匠学院负责人联系电话")
    private String curatorPhone;

    @Column(name = "`tele`")
    @ApiModelProperty(value = "联系电话")
    private String tele;

    @Column(name = "`email`")
    @ApiModelProperty(value = "电子邮箱")
    private String email;

    @Column(name = "`address`")
    @ApiModelProperty(value = "地址")
    private String address;

    @Column(name = "`je`")
    @ApiModelProperty(value = "投资金额")
    private String je;

    @Column(name = "`place`")
    @ApiModelProperty(value = "是否有实体场所")
    private String place;

    @Column(name = "`mj`")
    @ApiModelProperty(value = "占地面积")
    private String mj;

    @Column(name = "`jzmj`")
    @ApiModelProperty(value = "建筑面积")
    private String jzmj;

    @Column(name = "`zj_source`")
    @ApiModelProperty(value = "多选  ;分割  资金来源  字典zj_source")
    private String zjSource;

    @Column(name = "`js_model`")
    @ApiModelProperty(value = "建设模式  字典 js_model")
    private String jsModel;

    @Column(name = "delete_time")
    @ApiModelProperty(value = "假删除时间")
    private Timestamp deleteTime;

    @Column(name = "`all`")
    @ApiModelProperty(value = "总计")
    private String all;

    @Column(name = "`zz`")
    @ApiModelProperty(value = "专职人员")
    private String zz;

    @Column(name = "`jz`")
    @ApiModelProperty(value = "兼职人员")
    private String jz;

    @Column(name = "`js`")
    @ApiModelProperty(value = "专职教师")
    private String js;

    @Column(name = "`js1`")
    @ApiModelProperty(value = "兼职教师")
    private String js1;

    @Column(name = "`gl`")
    @ApiModelProperty(value = "专职管理人员")
    private String gl;

    @Column(name = "`gl1`")
    @ApiModelProperty(value = "兼职管理人员")
    private String gl1;

    @Column(name = "`qt`")
    @ApiModelProperty(value = "专职其他")
    private String qt;

    @Column(name = "`qt1`")
    @ApiModelProperty(value = "兼职其他")
    private String qt1;

    @Column(name = "`zhuanji`")
    @ApiModelProperty(value = "专职专技")
    private String zhuanji;

    @Column(name = "`zhuanji1`")
    @ApiModelProperty(value = "兼职专技")
    private String zhuanji1;

    @Column(name = "`zg`")
    @ApiModelProperty(value = "专职正高")
    private String zg;

    @Column(name = "`zg1`")
    @ApiModelProperty(value = "兼职正高")
    private String zg1;

    @Column(name = "`fg`")
    @ApiModelProperty(value = "专职副高")
    private String fg;

    @Column(name = "`fg1`")
    @ApiModelProperty(value = "兼职副高")
    private String fg1;

    @Column(name = "`zj`")
    @ApiModelProperty(value = "专职中级")
    private String zj;

    @Column(name = "`zj1`")
    @ApiModelProperty(value = "兼职中级")
    private String zj1;

    @Column(name = "`rc`")
    @ApiModelProperty(value = "专职高技能人才")
    private String rc;

    @Column(name = "`rc1`")
    @ApiModelProperty(value = "兼职高技能人才")
    private String rc1;

    @Column(name = "`gaoji`")
    @ApiModelProperty(value = "专职高级技师")
    private String gaoji;

    @Column(name = "`gaoji1`")
    @ApiModelProperty(value = "兼职高级技师")
    private String gaoji1;

    @Column(name = "`jishi`")
    @ApiModelProperty(value = "专职技师职称")
    private String jishi;

    @Column(name = "`jishi1`")
    @ApiModelProperty(value = "兼职技师职称")
    private String jishi1;

    @Column(name = "`gjg`")
    @ApiModelProperty(value = "专职高级工")
    private String gjg;

    @Column(name = "`gjg1`")
    @ApiModelProperty(value = "兼职高级工")
    private String gjg1;

    @Column(name = "`zhongji`")
    @ApiModelProperty(value = "专职中级工")
    private String zhongji;

    @Column(name = "`zhongji1`")
    @ApiModelProperty(value = "兼职中级工")
    private String zhongji1;

    @Column(name = "`chuji`")
    @ApiModelProperty(value = "专职初级工")
    private String chuji;

    @Column(name = "`chuji1`")
    @ApiModelProperty(value = "兼职初级工")
    private String chuji1;

    @Column(name = "`qtj`")
    @ApiModelProperty(value = "专职其他级")
    private String qtj;

    @Column(name = "`qtj1`")
    @ApiModelProperty(value = "兼职其他级")
    private String qtj1;

    @Column(name = "`xx_kc`")
    @ApiModelProperty(value = "线下培训课程数量")
    private String xxKc;

    @Column(name = "`xs_kc`")
    @ApiModelProperty(value = "线上培训课程数量")
    private String xsKc;

    @Column(name = "`xx_ypx`")
    @ApiModelProperty(value = "线下已培训")
    private String xxYpx;

    @Column(name = "`xs_ypx`")
    @ApiModelProperty(value = "线上已培训")
    private String xsYpx;

    @Column(name = "`xs_sc`")
    @ApiModelProperty(value = "线上时常")
    private String xsSc;

    @Column(name = "`is_xs_js`")
    @ApiModelProperty(value = "线上是否建设  字典 is_xs_js")
    private String isXsJs;

    @Column(name = "`xs_details`")
    @ApiModelProperty(value = "线上平台情况")
    private String xsDetails;

    @Column(name = "`jb_details`")
    @ApiModelProperty(value = "基本情况")
    private String jbDetails;

    @Column(name = "`sb_details`")
    @ApiModelProperty(value = "设备基本情况")
    private String sbDetails;

    @Column(name = "`nl_details`")
    @ApiModelProperty(value = "能力情况")
    private String nlDetails;

    @Column(name = "`zy_details`")
    @ApiModelProperty(value = "专业情况")
    private String zyDetails;

    @Column(name = "`gh_details`")
    @ApiModelProperty(value = "工会情况")
    private String ghDetails;

    @Column(name = "`kn_details`")
    @ApiModelProperty(value = "困难情况")
    private String knDetails;

    @Column(name = "`fz_details`")
    @ApiModelProperty(value = "下一步情况")
    private String fzDetails;

    @Column(name = "`other_details`")
    @ApiModelProperty(value = "其他情况")
    private String otherDetails;

    public void copy(SciRegisterInfo source){
        BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
    }
}
